Space Patrol von Rainer Kappler (Masterware Entertainment)
fr Commodore VC-20 Grundversion

Februar 2018

---------------------------------------------


Programm laden mit WinVice (VC-20 Emulator xvic):

Einstellungen -> VIC20-Einstellungen -> Keine Speichererweiterung

Datei -> Autostart von Disk/Band-Image -> space patrol.prg



Spielbeschreibung:

Auf einem Patrouillenflug im Weltraum kommst du in einen Asteriodensturm. 
Weiche den Asteroiden geschickt aus, whrend die Geschwindigkeit stndig steigt.
Das Spiel endet, wenn du mit einem Asterioden kollidierst.

Steuerung:

A -> links
D -> rechts

Bei Programmstart und Spielende werden die Punkte angezeigt und mit einem Tastendruck beginnt das Spiel.



Listing:

1 fori=0to23:reada:poke7168+i,a:next:fort=0to7:poke7424+t,0:next:v=36877:gosub3:goto4

2 data56,124,94,126,126,54,28,0,40,254,186,186,146,16,16,0,36,1,144,0,5,160,0,42
3 m=8164:mf=38884:s=7680:sf=38400:b=10:sc=0:poke36869,255:poke36879,8:poke36878,15:y=100:return
4 print"{clr}{rvon}{wht}score:"sc:fori=0to255step.2:pokev,i:next:pokev,0:poke198,0:wait198,1:print"{clr}{wht}":gosub3
5 a=int(rnd(1)*21):pokemf+a,2:pokem+a,0:pokev,255:print:fort=0toy:next:pokesf+b,7:pokes+b,1:pokev,0

6 sc=sc+1:y=y-.1:ify<.1theny=.1

7 ifpeek(s+b+22)=0thenpokes+b,2:pokev,200:fort=15to0step-.1:poke36878,t:next:pokev,0:poke36878,15:goto4
8 ifpeek(197)=17thenb=b-1:ifb<0thenb=0
9 ifpeek(197)=18thenb=b+1:ifb>20thenb=20
10 pokes+b+1,32:pokes+b-1,32:goto5




Programmbeschreibung:

1. Einlesen der Grafikdaten, Variable fr Sound festlegen, Sprung nach Zeile 3 und 4.
2. Grafikdaten von Asteroid, Raumschiff und zerstrtem Raumschiff.
3. Variablen fr Bildschirmzeile und der Startposition des Raumschiffs, Bildschirmzeile des Asteroiden, Score auf null setzen, Grafikmodus einschalten, Bildschirmfarbe und Lautstrke festlegen, Variable fr Geschwindigkeit.
4. Score anzeigen, Soundeffekt, Warten auf Tastendruck, Sprung nach Zeile 3.
5. Asteroid per Zufallsgenerator setzen und anzeigen, Sound, Hardscroll, Schleife fr Geschwindigkeit, Raumschiff setzen und anzeigen.
6. Score und Geschwindigkeit erhhen, Abfragen ob Hchstgeschwindigkeit erreicht, wenn ja dann zurck auf .1 setzen.
7. Kollisionsabfrage, wenn Raumschiff mit Asteroid kollidert, dann zerschelltes Schiff anzeigen und mit Soundeffekt untermalen.
8. Taste "A" abfragen und bei Bettigung das Raumschiff nach links bewegen, Abfrage ob Position kleiner als 0, wenn ja, zurck auf 0 setzen.
9. Taste "D" abfragen und bei Bettigung das Raumschiff nach rechts bewegen, Abfrage ob Position grer als 20, wenn ja, zurck auf 20 setzen.
10. Position plus und minus eins vom Raumschiff lschen, Sprung nach Zeile 5.